package web.fabrimind.bdm.service.impl;

import java.util.List;
import web.fabrimind.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import web.fabrimind.bdm.mapper.ProductionLineMapper;
import web.fabrimind.bdm.domain.ProductionLine;
import web.fabrimind.bdm.service.IProductionLineService;

/**
 * 生产线管理Service业务层处理
 * 
 * @author 智慧
 * @date 2025-03-28
 */
@Service
public class ProductionLineServiceImpl implements IProductionLineService 
{
    @Autowired
    private ProductionLineMapper productionLineMapper;

    /**
     * 查询生产线管理
     * 
     * @param lineId 生产线管理主键
     * @return 生产线管理
     */
    @Override
    public ProductionLine selectProductionLineByLineId(Long lineId)
    {
        return productionLineMapper.selectProductionLineByLineId(lineId);
    }

    /**
     * 查询生产线管理列表
     * 
     * @param productionLine 生产线管理
     * @return 生产线管理
     */
    @Override
    public List<ProductionLine> selectProductionLineList(ProductionLine productionLine)
    {
        return productionLineMapper.selectProductionLineList(productionLine);
    }

    /**
     * 新增生产线管理
     * 
     * @param productionLine 生产线管理
     * @return 结果
     */
    @Override
    public int insertProductionLine(ProductionLine productionLine)
    {
        productionLine.setCreateTime(DateUtils.getNowDate());
        return productionLineMapper.insertProductionLine(productionLine);
    }

    /**
     * 修改生产线管理
     * 
     * @param productionLine 生产线管理
     * @return 结果
     */
    @Override
    public int updateProductionLine(ProductionLine productionLine)
    {
        productionLine.setUpdateTime(DateUtils.getNowDate());
        return productionLineMapper.updateProductionLine(productionLine);
    }

    /**
     * 批量删除生产线管理
     * 
     * @param lineIds 需要删除的生产线管理主键
     * @return 结果
     */
    @Override
    public int deleteProductionLineByLineIds(Long[] lineIds)
    {
        return productionLineMapper.deleteProductionLineByLineIds(lineIds);
    }

    /**
     * 删除生产线管理信息
     * 
     * @param lineId 生产线管理主键
     * @return 结果
     */
    @Override
    public int deleteProductionLineByLineId(Long lineId)
    {
        return productionLineMapper.deleteProductionLineByLineId(lineId);
    }

    /**
     * 查询所属车间列表（不分页）
     */
    @Override
    public List<ProductionLine> selectWorkShopList(ProductionLine productionLine) {
        return productionLineMapper.selectWorkShopList(productionLine);
    }
}
